Parity frame

ABSTRACT

A method of forward error correction in an optical communications system. A signal to be transmitted is logically defined as a super-frame comprising a plurality of frames including a parity frame and a predetermined set of data frames. Each frame of the super-frame is processed in accordance with a first FEC scheme having a known error correlation characteristic. At least the set of data frames is processed in accordance with a second FEC scheme which is selected based on the error correlation characteristic of the first FEC scheme.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the first application filed for the presentinvention.

MICROFICHE APPENDIX

Not Applicable.

TECHNICAL FIELD

The present invention relates generally to optical communicationsystems, and in particular to systems and methods for error correctionand data recovery in a coherent receiver.

BACKGROUND

In the field of data communications, it is well known that data can belost or corrupted during transmission between a sender and a receiver.Typically, the reliability of the communications network ischaracterised by the Bit Error Ratio (BER), which measures the ratio oferroneously received bits (or symbols) to the total number of bits orsymbols transmitted.

Various known methods are used to detect and correct data transmissionerrors, and thereby minimize the BER. These techniques normally fallinto one of two categories, namely Automatic Resend Request (ARQ) andForward Error Correction (FEC).

Automatic Resend Request (ARQ) techniques involve processing data at thereceiver to detect erroneous or missing data. If such transmissionerrors are detected, an ARQ message is sent to request that thetransmitter re-send the erroneous or missing data. In most packetnetworks any packet that has errors (CRC failure) at an intermediatenode is deleted and not forwarded. These techniques suffer limitationsin that they produce a large amount of control messaging between thetransmitter and the receiver, and they require the transmitter to storein memory all of the data that it has transmitted, until the receiverconfirms that the data has been successfully received. In high speedcommunications systems, the required memory in the transmitter becomesundesirably large, and the control signalling consumes an undesirablyhigh amount of network resources. In addition, the round-trip delayexperienced in sending an ARQ message and receiving a resent packets,can be undesirable in some applications.

Forward Error Correction (FEC) techniques involve processing the dataprior to transmission, to generate parity (or check) symbols that may beused at the receiver to detect and correct erroneously received data.Well known FEC schemes include, but are not limited to, Turbo codes,Low-Density Parity Check (LDPC) codes, Block Turbo codes, Reed Solomoncodes and BCH codes. For example, by adding T check symbols to a dataframe being transmitted, a Reed Solomon code can detect up to Terroneous symbols in the receiver, and correct up to T/2 erroneoussymbols in the received frame. An assumption of Reed Solomon encoding isthat the errored symbols in the frame follow a Poisson distribution,that is, the probability that any given symbol is erroneous is equal tothat of every other symbol, and is independent of any other symbol. Asis known in the art, FEC techniques have an advantage that they avoidthe need for storing and resending packets, and so avoid the above-notedproblems associated with ARQ, but at a cost of increased overhead.

It is desirable to minimize the overhead, and have a very high noisetolerance, which has lead to the use of iterative sparse-graph FECtechniques such as Turbo codes and LDPC codes. However, these techniquessuffer from a problem in that a decoded frame may contain residualerrors that cannot be corrected by the selected FEC scheme. This problemmay arise due to either channel effects (such as cycle slips) orlimitations of the FEC algorithm itself, and normally affects a minorityof the frames comprising a given signal. However, even when most of theframes are correctly decoded, a small number of decoded frames withsignificant residual errors can raise the BER of the signal as a whole.Within limits, the error-correction performance of iterative FECtechniques can be improved by increasing the number of iterationsimplemented by the decoder. However, there is a lower limit to the BERthat can be achieved by these techniques, which cannot be furtherreduced by additional iterations. This lower limit is referred to as an“error floor”. In the case of Turbo codes and LDPC codes, for example,error floors in the range of 10⁻⁴ to 10⁻¹⁰ are often encountered, whichis unacceptably high for many users of optical transmission systems.Code designs that maximize error correction performance at high noiselevels (low signal to noise ratio (SNR)) often raise the error floor.For high speed optical communications systems, hardware implementationsof the FEC decoder are required, but this also raises the error floor.

Y. Miata et al. “Efficient FEC for Optical Communications usingConcatenated Codes to Combat Error-floor”, OFC/NFOEC 2008, describes theuse of concatenation of a Reed Solomon code with an LDPC code toeffectively eliminate error floors. This technique assumes that theerrors remaining after the LDPC decoding step are small enough in numberand follow a close enough approximation to a Poisson distribution thatthe Reed Solomon code will be capable of correcting them. However, in anoptical communications system, cycle slips during carrier recovery cancause error bursts that are challenging for the FEC to correct. Underthese conditions, the errored symbols remaining after the LDPC decodingare often too numerous and/or sufficiently non-Poisson that theconcatenated Reed Solomon decoding provides very little real benefit.

J. Normemnacher et al. “Parity-Based Loss Recovery for ReliableMulticast Transmission”, IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 6,NO. 4, AUGUST 1998 describes techniques which combine Forward ErrorCorrection and Automatic Repeat Request (ARQ) to achieve scalablereliable multicast transmission. packet system. In this arrangement,packets are held in an ARQ buffer, and a parity packet is sent so thatit can be used to recreate a missing packet without having to requestretransmission of that missing frame. This arrangement allows a missingor dropped frame to be recovered at a receiver, and so reduces thenumber of re-transmission requests received by the multicast root node.However, a large ARQ buffer is still required in the root node, becausethe need to re-transmit lost packets is not eliminated entirely.

Techniques for data recovery that overcome limitations of the prior artremain highly desirable. In particular, it is desirable to have an errorcorrection scheme for high speed optical transmission systems that hasboth very strong noise performance and a very low error floor.

SUMMARY

Disclosed herein are techniques for error correction and data recoveryin an optical communications system.

Accordingly, an aspect of the present invention provides a method offorward error correction in an optical communications system. A signalto be transmitted is logically defined as a super-frame comprising aplurality of frames including a parity frame and a predetermined set ofdata frames. Each frame of the super-frame is processed in accordancewith a first FEC scheme having a known error correlation characteristic.At least the set of data frames is processed in accordance with a secondFEC scheme which is selected based on the error correlationcharacteristic of the first FEC scheme.

BRIEF DESCRIPTION OF THE DRAWINGS

Representative embodiments of the invention will now be described by wayof example only with reference to the accompanying drawings, in which:

FIG. 1 is a flowchart illustrating representative steps in a process inaccordance with an embodiment of the invention, implemented in atransmitter;

FIGS. 2A and 2B are flowcharts illustrating representative steps inrespective alternative processes in accordance with an embodiment of theinvention, implemented in a receiver; and

FIG. 3 schematically illustrates a representative optical communicationssystem in which methods in accordance with the present invention may beimplemented

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION

Error bursts after FEC can occur due to channel effects, or due to FECalgorithm limitations. The techniques described below exploit theobservation that error bursts in an optical communications system willcause a FEC decoder to either fail to converge to a valid code word; orproduce a decoded frame in which erroneous symbols are correlated in amanner that is characteristic of the specific FEC scheme that is beingused.

In very general tell is, there are provided techniques in which a firstFEC scheme having a known error correlation characteristic isconcatenated with a second FEC scheme which is selected based on theerror correlation characteristic of the first FEC scheme. With thisarrangement, a decoder in a receiver processes received frames using thefirst FEC scheme, on a per-frame basis, to yield FEC decoded frames inwhich the residual symbol errors are non-Poisson. The FEC decoded framesare then processed in accordance with the second FEC scheme to correctthe residual symbol errors and so yield recovered data frames having avery low BER.

In one embodiment, the first FEC scheme is selected to have an errorcorrelation characteristic such that an error burst due to channeleffects will produce residual errors after FEC decoding that areclustered within one frame; and the second FEC scheme is selected suchthat it can correct 1 errored frame in a super-frame consisting of P(where P>1) frames, given P−1 correctly received frames.

Preferably, the first FEC scheme is selected to be strong enough that,in the absence of an error burst, a frame can be decoded to yield atleast a moderately low residual BER. Known codes are capable ofachieving this error correction performance. This means that a decoderimplementing the first FEC scheme will either converge to a valid codeword for a given frame, indicating with very high confidence that thereceived frame has been correctly decoded; or else it will fail toconverge, indicating the presence of an error burst.

Various methods are known by which the effects of a cycle slip can beconfined to a single block of symbols. For example, U.S. Pat. No.7,522,841, which issued Apr. 21, 2009, in which an optical signal iscomposed of periodic SYNC bursts separated by blocks of data symbols.Since the symbol sequence and periodicity of the SYNC bursts are known,a cycle slip can be detected and its effects limited to the data symbolslying between the first slipped symbol and the next SYNC burst. Withthis arrangement, it is convenient to logically divide the signal intoframes, with each frame comprising one or more SYNC bursts and anassociated block of data symbols. This will have the effect of confiningerror bursts due to a cycle slip to the frame in which the cycle slipoccurred. Thus, there is a high correlation in the pattern of residualbit errors.

For a given super-frame, the probability that more than one frame islost (or corrupted) due to an error burst can be minimized byappropriate selection of the size of each frame and the number P offrames in the super-frame. In some embodiments, each frame may comprise8k bits, and the number P of frames in the super-frame may be 64,although this is not essential. With this arrangement, there is a veryhigh probability that a decoder implementing the first FEC scheme willfail to converge to a valid code word for at most 1 frame in thesuper-frame. Consequently, a second FEC scheme in which a parity frameis computed over P−1 data frames can be used to correct (or reconstruct)the one errored frame in the super-frame, given that the other P−1frames of the super-frame have been correctly decoded. For this singleframe reconstruction, the parity frame can be computed by accumulatingthe bit-wise XOR of the P−1 data frames. In this case, any frame in thesuper-frame can be reconstructed in the receiver by accumulating thebit-wise XOR of the other P−1 (correctly decoded) frames of thesuper-frame.

FIGS. 1 and 2 respectively illustrate a representative flow chartsshowing encoding and data recovery processes in accordance with theabove-described embodiment. As may be seen in FIG. 1, each data frameDF(x) (x=1 . . . P−1) to be transmitted is processed (at step S2) tocalculate the parity frame PF in accordance with the second FEC scheme,in this case as the bit-wise XOR of the data frames DF(x). Then, eachframe F(x) of the super frame, consisting of the P−1 data frames DF(x)and the parity frame PF, is encoded (at step S4) using the first FECscheme to produce corresponding FEC encoded frames E(x). The thusencoded super-frame can then be transmitted (at step S6) through anoptical communications system.

Referring to FIG. 2A, in a receiver of the optical communicationssystem, each received frame R(x) is processed (at step S8) in accordancewith the first FEC scheme to generate corresponding decoded frames D(x).If this decoding step is successful (for example, the decoder convergesto a valid codeword) at step S10, the decoded frame D(x) is retained,and used to calculate a local parity frame LPF in accordance with thesecond FEC scheme (at step S12), in this case as the bit-wise XOR of thedecoded frames D(x). On the other hand, if the decoding step isunsuccessful, the errored frame is flagged (at step S14). Uponcompletion of the decoding step, if all of the frames have beencorrectly decoded, then the local parity frame (LPF) can be discarded(at step S16). Otherwise, the local parity frame (LPF) can be used torepair (or replace) the errored frame (at step S18). In the illustratedexample, if the accumulated LPF is the bit-wise XOR of P−1 correctlydecoded frames, then the content of the local parity frame in factcorresponds with the corrected content of the one errored frame. In thiscase, the errored frame can be corrected by substituting the LPF inplace of the errored frame.

FIG. 2B illustrates an alternative process, in which the LPF isaccumulated over all of the decoded frames D(x). Following the decodingand LPF accumulation steps (steps S8 and S12), the LPF is examined (at20) to determine whether or not its value is zero. If the LPF=0, thenall of received frames R(x) have been decoded successfully, and thedecoding process ends. On the other hand, if the LPF does not equalzero, then at least one of the decoded frames D(x) was not successfullydecoded. In this case, the errored frame D(e) is identified (at S22),and corrected using the LPF (at S24), in a manner directly analogy tothat described above with reference to FIG. 2A.

In the foregoing description, the second FEC scheme corrects an errorburst in a decoded frame by replacing the entire errored frame. This hasan advantage in terms of simplicity of the algorithm, which in turnsimplifies high speed hardware based implementations. However, ifdesired, more sophisticated FEC algorithms may be implemented, forexample to replace a portion of an errored frame or to replaceparticular patterns of bits within the errored frame, in accordance withthe known error correlation characteristics of the first FEC scheme.

In the foregoing description, the second FEC scheme is designed tocorrect one errored frame in a super-frame. These techniques can beextended to enable correction of error bursts affecting more than oneframe.

For example, instead of calculating the Local Parity Frame LPF as thebitwise XOR of the correctly decoded frames, the LPF can be calculatedto have “soft” values (more than two levels) indicating theprobabilities of zero and one for each bit location in the frame. Thismay be referred to as a “soft metric” of each bit location. The softmetric can be an integer representing the log likelihood ratio,comprising a sign bit and a magnitude value. The magnitude value may berepresented by two to six bits.

In order to recover errored frames, Maximum Likelihood (ML) decoding canbe applied across the erroneous frames and soft syndromes, for exampleusing coset decomposition and trellis decoding as discussed in Esmaeili,M.; Khandani, A. K.: “Acyclic Tanner Graphs and Maximum-LikelihoodDecoding of Linear Block Codes”; IEE Proceedings, Vol. 147, No. 6,DECEMBER 2000, the contents of which are hereby incorporated herein byreference.

More generally, one or more redundant (parity) frames can be computed tocontain information about the number of 0's and 1's in each bit location(denoted by its index value) of the data frames or FEC encoded dataframes of the super-frame. For example, two redundant frames can beadded forcing the sum of bit values (0 and 1) across bits of the sameindex in each FEC frame to be zero modulo 3. Let us call this parity mod3. Assume we detect two received frames being in error following FECdecoding. The bit pattern in these two erroneous frames (for any givenindex value) can be 00,01,10 or 11. In the case that the mod 3 parity isany one of, 00,10 or 01, then it can be shown that the two bits in errorare 00,11 or 11, respectively. If the mod 3 parity is 11, thecorresponding error pattern can be either 10 or 01 which is ambiguous.In such cases, the dependency between such two bits (the fact that suchtwo bits are either 01 or 10) can be used to improve their correspondingsoft metrics and then repeat the FEC iterative decoding for theerroneous frames.

For example, when the parity bit matches the XOR of the respective signbits of the errored frames, the corresponding magnitude values could bedoubled. When the parity bit does not match, then the magnitude valuescould be halved. Or, when the parity values do not match, the sign bitcorresponding to the weaker magnitude is flipped.

Depending upon the FEC code structure being used, internal parities ofthat code can also be used in the calculation to select which of the twoerrored frames is trusted more.

After the soft metrics are adjusted, the FEC algorithm may then beexecuted on the two errored frames. If the decoder then converges to thevalid codeword for one of these frames, then single frame correction, asdescribed above, can be executed on the other.

This example uses a single parity calculation. Other coding can be usedbetween frames, and the more complicated syndromes used in moreinsightful calculations upon greater numbers of errored frames. MDScodes are advantageous for this. Partial correction and guidance of thesoft FEC can be done with shorter syndromes.

In the above-described embodiments, a bit-wise parity is calculatedacross the P−1 data frames of the super frame. However, this is notessential. Single parities could be calculated across more than one bitper frame, but at the cost of much less information and so much lesscapability for correcting errors. More complicated syndromes can becalculated across multi-bit symbols per frame, but again should onlycover one symbol per frame for full performance.

The sets of P frames need not be transmitted contiguously. Indeed, whileit is desirable that each frame be transmitted contiguously in order toincrease the probability than a line event is contained within oneframe, one could choose other transmission patterns.

The methods of U.S. Pat. No. 6,959,019 or U.S. Pat. No. 7,149,432, thecontents of which are hereby incorporated herein by reference, could beused to reorder the bits.

The sets of P frames have been described as disjoint, for simplicity ofimplementation. They could be chosen to overlap.

The syndromes have been described as being calculated in parallel upondisjoint sets of bits, but could be intertangled, which effectivelymakes larger syndromes.

Frames can have a few extra overhead bits, or other bits that are notcovered by the Soft FEC or not fully covered by the syndromecalculation.

While it is often advantageous for all frames to have the same length,frames can have unequal lengths if desired. A parity frame could have adifferent length than some data frames. The super-frame count, P, or thesyndrome size can vary.

When linear codes are used for both the syndrome calculation and for thesoft FEC, such as MDS and LDPC, BCH, or turbo codes, and the order ofall of the symbols preserved, then the calculations are commutative. Thesyndromes could be calculated only on the data, and then the soft FECcalculated on the syndrome (parity) frame, or the soft FEC could becalculated first and then the syndromes calculated on all bits in theresulting frames. Either order produces the identical syndrome frame(s).

The first described example has soft FEC for the code in the frame andhard parities for the code across frames. Soft FEC could be used forboth, with (Single Input Single Output) SISO processing of the innercode and the resulting metrics such as log likelihood values passed tothe outer code.

The received frames do not need to be decoded in order. They can be donein parallel. Different frames may take different durations to decode.Once a sufficient number of received frames in one super-frame have beendecoded correctly, the remaining data frame(s) can be reconstructed fromthe parity frame as described above. In some embodiments, reconstructionof one of more data frames in this matter may be more efficient thanattempting to decode the corresponding received frame.

It will be appreciated that the methods described above may beimplemented in an optical communications system by way of one or moresignal processors, which may be constructed using any suitablecombination of hardware and software. In high speed opticalcommunications systems, it is contemplated that hardware implementationswill be preferable. It is contemplated that, at the transmitter end of alink, the signal processor will normally take the form of (or beincorporated within) a FEC encoder, that is optimized to implement theencoding operations of the first and second FEC schemes. Similarly, itis contemplated that, at the receiver end of a link, the signalprocessor will normally take the form of (or be incorporated within) aFEC decoder, that is optimized to implement the decoding and framereconstruction operations of the first and second FEC schemes.

FIG. 3 schematically illustrates a representative optical communicationssystem 2 of the type in which methods in accordance with the presentinvention may be implemented. As may be seen in FIG. 3, a FEC encoder 4associated with a transmitter 6 may comprise a signal processorimplementing the encoding operations of the first and second FECschemes. Similarly, a FEC decoder 8 associated with a receiver 10 maycomprise a signal processor implementing the decoding and framereconstruction operations of the first and second FEC schemes. Inprincipal, these signal processors may be implemented by a generalpurpose computer programmed using suitable software. However, usingcurrent technology, software-based solutions are expected to be tooslow. Accordingly, in preferred embodiments, the signal processors areimplemented entirely in hardware, for example using field Programmablegate Arrays (FPGAs) or Application Specific Integrated Circuits (ASICs).In some embodiments, the signal processor is implementing as twoprocessor blocks pipelined together, such that one block is used toprocess frames using the first FEC scheme, and the other block is usedto process frames using the second FEC scheme.

Although the invention has been described with reference to certainspecific embodiments, various modifications thereof will be apparent tothose skilled in the art without departing from the spirit and scope ofthe invention as outlined in the claims appended hereto.

We claim:
 1. A method of forward error correction in an opticalcommunications system, the method comprising: logically defining asignal as a super-frame comprising a plurality of frames including aparity frame and a predetermined set of data frames; and a signalprocessor performing the steps of: processing each frame of thesuper-frame in accordance with a first FEC scheme having a known errorcorrelation characteristic; and processing at least the set of dataframes in accordance with a second FEC scheme which is adapted tocompensate at least the error correlation characteristic of the firstFEC scheme.
 2. The method as claimed in claim 1, wherein the signalprocessor is associated with a transmitter of the optical communicationssystem, and wherein processing at least the set of data frames inaccordance with a second FEC scheme comprises computing the parity frameacross the predetermined set of data frames.
 3. The method as claimed inclaim 2, wherein computing the parity frame comprises accumulating abit-wise XOR across the predetermined set of data frames.
 4. The methodas claimed in claim 2, wherein the parity frame is computed before thestep of processing each frame of the super-frame in accordance with thefirst FEC scheme.
 5. The method as claimed in claim 1, wherein thesignal processor is associated with a receiver of the opticalcommunications system, and wherein processing each frame of thesuper-frame in accordance with the first FEC scheme comprises: decodingreceived frames of the super-frame to generate corresponding decodedframes. determining, for each received frame, whether or not thedecoding step was successful.
 6. The method as claimed in claim 5,wherein processing at least the set of data frames in accordance with asecond FEC scheme comprises computing a local parity frame across thedecoded frames.
 7. The method as claimed in claim 6, wherein processingeach frame of the super-frame further comprises determining, for eachreceived frame, whether or not the decoding step was successful, andwherein the step of computing a local parity frame is performed acrossonly decoded frames corresponding to received frames that weresuccessfully decoded.
 8. The method as claimed in claim 6, whereincomputing the local parity frame comprises accumulating a bit-wise XOR.9. The method as claimed in claim 8, wherein the known error correlationcharacteristic of the first FEC scheme comprises that an error burst dueto channel effects will affect at most one frame within the super-frame.10. The method as claimed in claim 9, wherein processing at least theset of data frames in accordance with a second FEC scheme furthercomprises: identifying an erroneous decoded frame corresponding to areceived frame that was not successfully decoded; and correcting theerroneous decoded frame using the local parity frame.
 11. The method asclaimed in claim 10, wherein correcting the erroneous decoded framecomprises replacing the erroneous decoded frame with the local parityframe.
 12. The method as claimed in claim 6, wherein computing the localparity frame comprises accumulating a bit-wise soft metric across thedecoded frames corresponding to received frames that were successfullydecoded.
 13. The method as claimed in claim 12, wherein the bit-wisesoft metric is a probability of a predetermined bit value at each framelocation.
 14. The method as claimed in claim 12, wherein the known errorcorrelation characteristic of the first FEC scheme comprises that anerror burst due to channel effects will affect at most two frames withinthe super-frame.
 15. The method as claimed in claim 14, whereinprocessing at least the set of data frames in accordance with a secondFEC scheme further comprises: identifying each erroneous decoded framecorresponding to a received frame that was not successfully decoded; andcorrecting each identified erroneous decoded frame using the localparity frame.
 16. The method as claimed in claim 15, wherein there aretwo erroneous decoded frames, and wherein correcting each identifiederroneous decoded frame comprises: considering a set comprising the twoerroneous frames and the local parity frame; and identifying each bitposition for which the sum of the corresponding bit values across theset results in odd parity; and for each identified bit position,swapping the value of the least reliable bit among the set.
 17. Themethod as claimed in claim 5, further comprising: stopping the step ofdecoding received frames when a number of frames for which the decodingstep was successful is sufficient that remaining data frames of thesuper-frame can be reconstructed using the second FEC scheme; andreconstructing the remaining data frames of the super-frame using thesecond FEC scheme.
 18. A signal processor for implementing forward errorcorrection of a signal in an optical communications system, the signalbeing logically formatted as a super-frame comprising a plurality offrames including a parity frame and a predetermined set of data frames,the signal processor comprising: means for processing each frame of thesuper-frame in accordance with a first FEC scheme having a known errorcorrelation characteristic; and means for processing at least the set ofdata frames in accordance with a second FEC scheme which is adapted tocompensate at least the error correlation characteristic of the firstFEC scheme.
 19. The signal processor as claimed in claim 18, wherein thesignal processor is implemented as a FEC encoder in a transmitter of theoptical communications system.
 20. The signal processor as claimed inclaim 18, wherein the signal processor is implemented as a FEC decoderin a receiver of the optical communications system.
 21. The signalprocessor as claimed in claim 18, wherein the signal processor isimplemented in hardware.